[PB] GetRecord2.0
支持版本:3.50.0
简介
单笔记录查询接口,如果记录不存在,则返回261错误码。支持返回指定字段,通过Select参数指定要返回的字段名。该接口不支持对含有byte字段的表进行查询。
POST http://{Tcaplus_REST_URL}
请求语法
Http请求
#国内idc&dev&其他自建环境:联系dba分配restproxy进程后由dba提供相应Tcaplus_REST_URL
#腾讯云控制台 RESTful Endpoint, ip:80, 端口默认80
http://172.17.0.22
#TcaplusDB本地docker版 RESTful Endpoint, ip:31001, 端口默认31001
http://9.135.8.93:31001
Http头
x-tcaplus-target:Tcaplus.GetRecord
x-tcaplus-app-id:{string}
x-tcaplus-zone-id:{string}
x-tcaplus-protocol-version:{string}
x-tcaplus-table-name:{string}
x-tcaplus-pwd-md5:{string}
x-tcaplus-result-flag:result_flag
x-tcaplus-version:{string}
x-tcaplus-data-version-check:{string}
x-tcaplus-idl-type:protobuf
参数说明:
| 名称 | 是否必填 | 限制条件 | 说明 | 
|---|---|---|---|
| x-tcaplus-target | 是 | 无 | Tcaplus.GetRecord | 
| x-tcaplus-version | 是 | 无 | Tcaplus3.50.0 | 
| x-tcaplus-app-id | 是 | 无 | 对应业务id编号(aka,集群接入id) | 
| x-tcaplus-zone-id | 是 | 无 | 对应zone编号(aka,表格组id) | 
| x-tcaplus-protocol-version | 是 | 无 | 对应protocol版本号,默认2.0 | 
| x-tcaplus-table-name | 是 | 无 | 对应表名 | 
| x-tcaplus-pwd-md5 | 是 | 无 | 业务密码(aka,集群访问密码),传入计算后的md5值 | 
| x-tcaplus-idl-type | 是 | 无 | protobuf | 
| x-tcaplus-result-flag | 否 | 无 | 0:操作成功后不返回数据1:操作成功后返回和请求一致的数据2:操作成功后返回本次update操作后的数据3:操作成功后返回tcapsvr端操作前的数据 | 
| x-tcaplus-data-version-check | 否 | 1:检测记录版本号,只有当该版本号与服务器端的版本号相同时,该版本号才会自增2:不检测记录版本号,强制把客户端的记录版本号写入到服务器中3:不检测记录版本号,将服务器端的版本号自增 | |
| x-tcaplus-data-version | 否 | 具体的version值 | 
示例:
x-tcaplus-target:Tcaplus.GetRecord
x-tcaplus-app-id:3
x-tcaplus-zone-id:1
x-tcaplus-protocol-version:2.0
x-tcaplus-table-name:game_players
x-tcaplus-pwd-md5:4e81984efccfb4982333aeb1ff7968d5
x-tcaplus-result-flag:2
x-tcaplus-version:Tcaplus3.50.0
x-tcaplus-data-version-check: 3
x-tcaplus-idl-type:protobuf
Data
使用json格式表示记录相关信息。参数说明:
- Select:可选,参数指定返回的字段,不传时默认返回记录所有字段。
- Record:必须,参数指定主键字段用于惟一记录获取。
- Condition:可选,参数指定条件查询条件,如"Condition": "x > 1"。
注意:如果Data带有Select参数,Select不能是主键字段名 (因为主键字段已经默认会返回)
{
    "Record": {
        "player_id":5,
        "player_name":"5",
        "player_email":"5"
    },
    "Select":["game_server_id", "is_online", "pay"]
}
完整请求示例
curl -i -XPOST -H 'x-tcaplus-target: Tcaplus.GetRecord' -H 'x-tcaplus-app-id: 70' -H 'x-tcaplus-zone-id: 1' -H 'x-tcaplus-protocol-version: 2.0' -H 'x-tcaplus-table-name: game_players' -H 'x-tcaplus-pwd-md5: 0972ad76decf4d11a69e2e0d9af335da' -H 'x-tcaplus-result-flag: 2' -H 'x-tcaplus-version: Tcaplus3.50.0' -H 'x-tcaplus-data-version-check: 3' -H 'x-tcaplus-idl-type: protobuf' http://172.17.32.17 -d '{
    "Record": {
        "player_id":5,
        "player_name":"5",
        "player_email":"5"
    },
    "Select":["game_server_id", "is_online", "pay"]
}'
返回语法
返回参数说明
| 参数名 | 说明 | 
|---|---|
| ErrorCode | 返回码 | 
| ErrorMsg | 返回信息 | 
| ReturnVersion | 记录版本号 | 
| Record | json格式,成功的记录返回数据 | 
返回示例
成功示例
{
    "ErrorCode": 0,
    "ErrorMsg": "Succeed",
    "RecordVersion": 1,
    "Record": {
        "game_server_id": 5,
        "is_online": false,
        "pay": {
            "pay_id": 5,
            "amount": 5,
            "method": 5
        },
        "player_email": "5",
        "player_id": 5,
        "player_name": "5"
    }
}
失败示例
{
    "ErrorCode": 261,
    "ErrorMsg": "Record does not exist"
}
错误码
参考 常见错误码